|
(******************************************************************************)
(**) ОТДЕЛ ПроОпред+;
(******************************************************************************
* НАЗНАЧЕНИЕ: вычисление определителя и обратной матрицы
*
* ПРИМЕЧАНИЯ:
* Исходная матрица записана в файле "ПроМатр1.дан".
* В этом файле 1-я строка содержит размер матрицы (строк и столбцов),
* а последующие строки содержат значения элементов матрицы.
******************************************************************************)
ИСПОЛЬЗУЕТ
Матр ИЗ "...\Отделы\Числа\",
МатрВВ ИЗ "...\Отделы\Числа\",
Читать ИЗ "...\Отделы\Обмен\",
Вывод ИЗ "...\Отделы\Обмен\";
(******************************************************************************)
ЗАДАЧА Голова;
ПЕР
п:Читать.Поток;
М,О:Матр.Доступ; (* исходная матрица и обратная к ней *)
УКАЗ
п:=МатрВВ.ОткрытьПоток("ПроМатр1.дан");
М:=МатрВВ.ЧитатьМатр(п);
Читать.Закрыть(п);
СОЗДАТЬ(О,РАЗМЕР(М^,0),РАЗМЕР(М^,1));
Вывод.Цепь("^Исходная матрица:^");
МатрВВ.ВыводМатр("%8.4f",М^);
ЕСЛИ Матр.Обратить(М^,О^) = 0 ТО
Вывод.Цепь("^Обратная матрица:^");
МатрВВ.ВыводМатр("%8.4f",О^);
Вывод.ЧВещ("^Определитель: %8.4f^",Матр.Определитель(М^),0,0,0);
ЕСЛИ Матр.Обратить(О^,М^) = 0 ТО
Вывод.Цепь("^Обратная от обратной матрицы:^");
МатрВВ.ВыводМатр("%8.4f",М^)
КОН
ИНАЧЕ
Вывод.Цепь("^Вырожденная матрица!^")
КОН
КОН Голова;
(******************************************************************************)
УКАЗ
Голова
КОН ПроОпред.
▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|